/**
 * Creating a sidebar enables you to:
 - create an ordered group of docs
 - render a sidebar for each doc of that group
 - provide next/previous navigation

 The sidebars can be generated from the filesystem, or explicitly defined here.

 Create as many sidebars as you want.
 */

// @ts-check

/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const sidebars = {
  // By default, Docusaurus generates a sidebar from the docs folder structure
  // tutorialSidebar: [{ type: 'autogenerated', dirName: '.' }],
  vue: ['vue/introduction',
    'vue/principle',
    'vue/SourceCodeAnalysis',

    {
      type: 'category',
      label: 'vdom',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        'vue/vdomIntroduction',
        'vue/snabbdom'
      ],
    },
    'vue/templateCompilation',
    'vue/hashAndHistory',
  ],
  React: [
    'react/introduction',
    'react/unit1',
    'react/unit2',
  ],
  maths: [
    'maths/introduction',
    'maths/unit1',
    'maths/unit2',
  ],
  webpack: [
    'webpack/introduction',
    {
      type: 'category',
      label: '基础入手',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        'webpack/unit1',
        'webpack/unit2',
        'webpack/unit3',
        'webpack/unit4',
        'webpack/unit5',
        'webpack/HMR',
        'webpack/拆分配置',
        'webpack/分析包依赖',
        'webpack/shimming'
      ],
    },
    {
      type: 'category',
      label: '进阶',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        'webpack/babel',
        'webpack/treeShaking',
        'webpack/进阶/多入口配置',
        'webpack/进阶/懒加载',
        'webpack/进阶/抽离和压缩CSS',
        'webpack/进阶/代码拆分',
        'webpack/进阶/优化构建速度',
        'webpack/进阶/优化产出代码',

      ],
    },
  ],
  performanceAnalysis: [
    'performanceAnalysis/introduction',
    {
      type: 'category',
      label: '性能优化',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        'performanceAnalysis/浏览器工作原理',
        'performanceAnalysis/prepare/performanceIndex',
        'performanceAnalysis/prepare/commonTools',
        'performanceAnalysis/传输优化',
        {
          type: 'category',
          label: '代码优化',
          link: {
            type: 'generated-index',
          },
          collapsed: true,
          items: [
            'performanceAnalysis/daimayouhua/内存优化',
            'performanceAnalysis/daimayouhua/object',
            'performanceAnalysis/daimayouhua/array',
            'performanceAnalysis/daimayouhua/function',
            'performanceAnalysis/daimayouhua/html',
            'performanceAnalysis/daimayouhua/css',
            'performanceAnalysis/daimayouhua/other',
          ],
        },
        // {
        //   type: 'category',
        //   label: 'webpack优化',
        //   link: {
        //     type: 'generated-index',
        //   },
        //   collapsed: true,
        //   items: [
        //     'webpack/babel',
        //     'webpack/treeShaking',
        //     'webpack/进阶/多入口配置',
        //     'webpack/进阶/懒加载',
        //     'webpack/进阶/抽离和压缩CSS',
        //     'webpack/进阶/代码拆分',
        //     'webpack/进阶/优化构建速度',
        //     'webpack/进阶/优化产出代码',
        //   ],
        // },
      ],
    },
    'performanceAnalysis/体验优化',

  ],
  js: [
    {
      type: 'category',
      label: 'CSS相关',
      link: {
        type: 'generated-index',
      },
      collapsed: true,
      items: [
        'js/css像素',
        'js/css中的单位',
        'js/css/盒模型',
        'js/css/margin重叠问题',
        'js/css/BFC',
        'js/css/弹性盒子(flex)基础用法',
        'js/css/网格布局基础用法',
        'js/css/float常见布局',
        'js/css/常见设计协同工具'
      ],
    },
    // {
    //   type: 'category',
    //   label: 'JS知识点',
    //   link: {
    //     type: 'generated-index',
    //   },
    //   collapsed: true,
    //   items: [
    //     // 'js/严格模式',
    //     // 'js/构造函数',
    //     // 'js/this指向问题',
    //     // 'js/跨域',
    //     // 'js/Promise',
    //     // 'js/事件循环',
    //     // 'js/闭包',
    //     // 'js/原型',
    //     // 'js/去重',
    //     // 'js/事件代理',
    //     // 'js/面向对象',
    //     // 'js/挨打小技巧',
    //     // 'js/其他注意点',
    //   ],
    // },


    {
      type: 'category',
      label: '手写系列',
      link: {
        type: 'generated-index',
      },
      collapsed: true,
      items: [
        'js/手写系列/手写Ajax',
        'js/手写系列/手写防抖和节流',
        'js/手写系列/手写深拷贝',
      ],
    },
    {
      type: 'category',
      label: '设计模式',
      link: {
        type: 'generated-index',
      },
      collapsed: true,
      items: [
        'js/设计模式/工厂模式',
        'js/设计模式/单例模式',
        'js/设计模式/观察者模式',
        'js/设计模式/发布订阅者模式',
        'js/设计模式/修饰器模式',
        'js/设计模式/代理模式',
        'js/设计模式/迭代器模式',
      ],
    },
    'js/测试',
    {
      type: 'category',
      label: 'JS进阶',
      link: {
        type: 'generated-index',
      },
      collapsed: true,
      items: [
        'js/设计模式/工厂模式'
      ],
    },
    {
      type: 'category',
      label: '常见攻击方法及预防',
      link: {
        type: 'generated-index',
      },
      collapsed: true,
      items: [
        'js/攻击/SQL注入',
        'js/攻击/XSS',
        'js/攻击/CSRF',
      ],
    },

    'js/git/git常用命令',
    'js/Linux常用命令',
  ],
  operatingSystem: [
    'operatingSystem/introduction',
    'operatingSystem/unit1',
    // 'operatingSystem/unit2',
    'operatingSystem/unit3',
    'operatingSystem/unit4',
    'operatingSystem/unit5',
    'operatingSystem/unit6',
    // 'operatingSystem/unit7',
    'operatingSystem/unit8',
  ],
  systemStructure: [
    'systemStructure/introduction',
    'systemStructure/unit1',
    'systemStructure/unit2',
    'systemStructure/unit3',
    'systemStructure/unit4',
    'systemStructure/unit5',
    'systemStructure/unit6',
    'systemStructure/unit7',
    'systemStructure/unit8',
  ],
  ts: [
    'ts/introduction',
    'ts/unit1',
    {
      type: 'category',
      label: '类型',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        'ts/types/baseTypes',
        'ts/types/typeInference',
        'ts/types/联合类型',
        'ts/types/交叉类型',
        'ts/types/array',
        'ts/types/object',
        'ts/types/泛型',
        'ts/types/接口',
        'ts/types/类型别名',
        'ts/types/接口与别名的区别',
        'ts/types/never',
        'ts/types/any',
        'ts/types/函数',
        'ts/types/枚举',
        'ts/types/元组',
        {
          type: 'category',
          label: '内置类型',
          link: {
            type: 'generated-index',
          },
          collapsed: true,
          items: [
            'ts/typeBuiltIn/Dom',
            'ts/typeBuiltIn/Partial'
          ],
        },
      ],
    },
    {
      type: 'category',
      label: '进阶',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        'ts/types/关键字',
        'ts/advanced/类型缩小',
        'ts/advanced/索引签名',
        'ts/advanced/声明文件',
        'ts/advanced/配置文件',
        'ts/advanced/Axios使用TS',
        'ts/advanced/vue3使用TS',
      ],
    },
    {
      type: 'category',
      label: '深入理解',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        'ts/编译原理',
      ],
    },

    // 'ts/unit2',
    // 'ts/unit3',
    // 'ts/unit4',
    // 'ts/unit5',
    // 'ts/unit6',
    // 'ts/unit7',
    // 'ts/unit8',
  ],
  database: [
    'database/introduction',
    'database/unit1',
    'database/unit2',
    'database/unit3',
    'database/unit4',
    'database/unit5',
    'database/unit6',
    'database/unit7',
    'database/unit8',
  ],
  network: [
    'network/introduction',
    'network/unit1',
    'network/unit2',
    'network/unit3',
    'network/unit4',
    'network/unit5',
    'network/unit6',
    'network/unit7',
    'network/unit8',
    // 'network/面试2',
    // 'network/面试3',
  ],
  discrete: [
    'discrete/introduction',
    'discrete/unit1',
    'discrete/unit2',
    'discrete/unit3',
    'discrete/unit4',
    'discrete/unit5',
    'discrete/unit6',
    'discrete/unit7',
    'discrete/unit8',
  ],
  '相': [
    '相学/introduction',
    '相学/unit1',
    '相学/unit2',
    '相学/unit3',
    '相学/unit4',
    '相学/unit5',
    '相学/unit6',
    '相学/unit7',
    '相学/unit8',
  ],
  dataStructureAlgorithm: [
    'dataStructureAlgorithm/introduction',
    'dataStructureAlgorithm/复杂度',
    {
      type: 'category',
      label: '数据结构',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        'dataStructureAlgorithm/物理结构和逻辑结构',
        'dataStructureAlgorithm/栈和队列',
        'dataStructureAlgorithm/数据结构/无序表和有序表',
        'dataStructureAlgorithm/数据结构/散列表',
        {
          type: 'category',
          label: '树',
          link: {
            type: 'generated-index',
          },
          collapsed: true,
          items: [
            'dataStructureAlgorithm/数据结构/二叉树',
            'dataStructureAlgorithm/数据结构/平衡二叉树',
            'dataStructureAlgorithm/数据结构/二叉堆',
          ],
        },
        {
          type: 'category',
          label: '图',
          link: {
            type: 'generated-index',
          },
          collapsed: true,
          items: [
            'dataStructureAlgorithm/数据结构/图',
            'dataStructureAlgorithm/数据结构/图的最短路径',
          ],
        },

      ],
    },
    'dataStructureAlgorithm/分治策略',
    'dataStructureAlgorithm/贪心策略',
    'dataStructureAlgorithm/动态规划',
    {
      type: 'category',
      label: '排序算法',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        'dataStructureAlgorithm/排序/冒泡排序',
        'dataStructureAlgorithm/排序/鸡尾酒排序',
        'dataStructureAlgorithm/排序/快速排序',
        'dataStructureAlgorithm/排序/堆排序',
        'dataStructureAlgorithm/排序/选择排序',
        'dataStructureAlgorithm/排序/插入排序',
        'dataStructureAlgorithm/排序/希尔排序',
        'dataStructureAlgorithm/排序/归并排序',
        'dataStructureAlgorithm/排序/基数排序',
      ],
    },
    // 'dataStructureAlgorithm/unit3',
    'dataStructureAlgorithm/advanced',
    'dataStructureAlgorithm/面试题',
    {
      type: 'category',
      label: '刷题笔记',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        'dataStructureAlgorithm/刷题笔记/数组',
      ],
    },
    // 'dataStructureAlgorithm/unit5',
    // 'dataStructureAlgorithm/unit6',
    // 'dataStructureAlgorithm/unit7',
    // 'dataStructureAlgorithm/unit8',
  ],
  frontEndArchitecture: [
    'frontEndArchitecture/introduction',
    'frontEndArchitecture/designPrinciples',
    {
      type: 'category',
      label: '脚手架',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        'frontEndArchitecture/脚手架/体验脚手架开发流程',
        {
          type: 'category',
          label: '开发企业级脚手架',
          link: {
            type: 'generated-index',
          },
          collapsed: false,
          items: [
            'frontEndArchitecture/脚手架/lerna',
            'frontEndArchitecture/脚手架/执行准备',
            'frontEndArchitecture/脚手架/命令注册',
            'frontEndArchitecture/脚手架/命令执行',
          ],
        },
      ],
    },
    {
      type: 'category',
      label: '手写微前端框架',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        'frontEndArchitecture/microFrontEnd/introduction',
        'frontEndArchitecture/microFrontEnd/unit1',
      ],
    },
    'frontEndArchitecture/cicd',

    // 'frontEndArchitecture/unit2',
    // 'frontEndArchitecture/unit3',
    // 'frontEndArchitecture/unit4',
    // 'frontEndArchitecture/unit5',
    // 'frontEndArchitecture/unit6',
    // 'frontEndArchitecture/unit7',
    // 'frontEndArchitecture/unit8',
  ],
  engl: [
    'engl/introduction',

    {
      type: 'category',
      label: '基础',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        'engl/音标', 'engl/自然拼读',
      ],
    },
    {
      type: 'category',
      label: '快速记单词',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        'engl/词根', 'engl/词缀',
      ],
    },
    {
      type: 'category',
      label: '快速说句子',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        'engl/句子'
      ],
    },
  ],
  blogs: [
    'blogs/introduction',
  ],
  language: [
    'createLanguage/introduction',
    {
      type: 'category',
      label: '基础',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        'createLanguage/准备工作/语言和语言处理器',
      ],
    },

  ],
  zhanzhuang: [
    '站桩/introduction'
  ],
  zhouyi: [
    '周易/introduction',
    {
      type: 'category',
      label: '启蒙',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        '周易/阴阳',
        '周易/五行',
        '周易/天干地支',
        '周易/八卦',
        '周易/六十四卦',
      ],
    },
    '周易/周易古经',

  ],
  xinjing: [
    'xinjing/introduction',
  ],
  guzhongwen: [
    '古中文/introduction',
    {
      type: 'category',
      label: '古中医文献常用词',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        '古中文/unit1',
      ],
    },
    {
      type: 'category',
      label: '道教文献常用词',
      link: {
        type: 'generated-index',
      },
      collapsed: true,
      items: [
        '古中文/unit1',
      ],
    },
    {
      type: 'category',
      label: '佛教献常用词',
      link: {
        type: 'generated-index',
      },
      collapsed: true,
      items: [
        '古中文/unit1',
      ],
    },
  ],
  mianshi: [
    {
      type: 'category',
      label: 'vue',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        '测试/vue/index',
        '测试/vue/vue-router',
        '测试/vue/vuex',
        '测试/vue/axios',
      ],
    },
    '测试/react/index',
    '测试/webpack',
    '测试/unit5',
    {
      type: 'category',
      label: 'JS知识点',
      link: {
        type: 'generated-index',
      },
      collapsed: true,
      items: [
        '测试/js/严格模式',
        '测试/js/构造函数',
        '测试/js/this指向问题',
        '测试/js/跨域',
        '测试/js/Promise',
        '测试/js/事件循环',
        '测试/js/闭包',
        '测试/js/原型',
        // 'js/去重',
        // 'js/事件代理',
        // 'js/面向对象',
        '测试/js/挨打小技巧',
        '测试/js/websocket',
        '测试/js/微前端',
        '测试/js/其他注意点',
      ],
    },
    {
      type: 'category',
      label: 'node',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        '测试/node/introduction',
        '测试/node/unit1',
        '测试/node/unit2',
        '测试/node/unit3',
        '测试/node/unit4',
        '测试/node/unit5',
        '测试/node/unit6',
        '测试/node/unit7',
        '测试/node/unit8',
      ],
    },
    '测试/css/index',
    '测试/网络相关/index',
  ],
  '道教': [
    '道教/introduction',
    '道教/unit1',
    '道教/unit2',
    '道教/unit3',
    '道教/unit4',
    '道教/unit5',
    '道教/unit6',
    '道教/unit7',
    '道教/unit8',
  ],
  '风水': [
    '风水/introduction',
    '风水/unit1',
    '风水/unit2',
    '风水/unit3',
    '风水/unit4',
    '风水/unit5',
    '风水/unit6',
    '风水/unit7',
    '风水/unit8',
  ],
  '道德经': [
    '道德经/introduction',
    {
      type: 'category',
      label: '全部（不予细分）',
      link: {
        type: 'generated-index',
      },
      collapsed: false,
      items: [
        '道德经/unit1',
        '道德经/unit2',
        '道德经/unit3',
        '道德经/unit4',
        '道德经/unit5',
        '道德经/unit6',
        '道德经/unit7',
        '道德经/unit8',
        '道德经/unit9',
        '道德经/unit10',
        '道德经/unit11',
        '道德经/unit12',
        '道德经/unit13',
        '道德经/unit14',
        '道德经/unit15',
        '道德经/unit16',
        '道德经/unit17',
        '道德经/unit18',
        '道德经/unit19',
        '道德经/unit20',
        '道德经/unit21',
        '道德经/unit22',
        '道德经/unit23',
        '道德经/unit24',
        '道德经/unit25',
        '道德经/unit26',
        '道德经/unit27',
        '道德经/unit28',
        '道德经/unit29',
        '道德经/unit30',
        '道德经/unit31',
        '道德经/unit32',
        '道德经/unit33',
        '道德经/unit34',
        '道德经/unit35',
        '道德经/unit36',
        '道德经/unit37',
        '道德经/unit38',
        '道德经/unit39',
        '道德经/unit40',
        '道德经/unit41',
        '道德经/unit42',
        '道德经/unit43',
        '道德经/unit44',
        '道德经/unit45',
        '道德经/unit46',
        '道德经/unit47',
        '道德经/unit48',
        '道德经/unit49',
        '道德经/unit50',
        '道德经/unit51',
        '道德经/unit52',
        '道德经/unit53',
        '道德经/unit54',
        '道德经/unit55',
        '道德经/unit56',
        '道德经/unit57',
        '道德经/unit58',
        '道德经/unit59',
        '道德经/unit60',
        '道德经/unit61',
        '道德经/unit62',
        '道德经/unit63',
        '道德经/unit64',
        '道德经/unit65',
        '道德经/unit66',
        '道德经/unit67',
        '道德经/unit68',
        '道德经/unit69',
        '道德经/unit70',
        '道德经/unit71',
        '道德经/unit72',
        '道德经/unit74',
        '道德经/unit75',
        '道德经/unit76',
        '道德经/unit77',
        '道德经/unit78',
        '道德经/unit79',
        '道德经/unit80',
        '道德经/unit81',
        '道德经/unit82',
        '道德经/unit83',
        '道德经/unit84',
        '道德经/unit85',
      ],
    },
  ],

  // But you can create a sidebar manually
  /*
  tutorialSidebar: [
    {
      type: 'category',
      label: 'Tutorial',
      items: ['hello'],
    },
  ],
   */
};

module.exports = sidebars;
